/*
 * Copyright 2013 Pras Velagapudi <psigen@gmail.com>
 *
 * Implements the core functionality of Plinth.
 */ 
#ifndef CORE_H
#define CORE_H

#include "Filesystem.h"
#include "ModuleLoader.h"
#include "Scheduler.h"

#include <SLB3/slb.h>

class Core
{
public:
  Core();
  Core(int argc, char *argv[]);
  ~Core();
  
  const ModuleLoader& module();
  const Filesystem& file();
  const Scheduler& sched();

private:
  ModuleLoader _module;
  Filesystem _filesystem;
  Scheduler _scheduler;
};

#endif /* CORE_H */
